package delphorm.web.aspect;

import java.lang.reflect.Method;

import javax.servlet.http.HttpServletRequest;

import org.springframework.aop.MethodBeforeAdvice;

import delphorm.entite.personne.Utilisateur;
import delphorm.web.exception.SecuriteException;


public class VerifierEditerGroupeUtilisateur implements MethodBeforeAdvice, Verif {

	
	public void before(Method method, Object[] arguments, Object target) 
			throws Throwable {
		Object[] args = new Object[2];
		args[0] = ((HttpServletRequest)arguments[0]).getSession().getAttribute("utilisateur");
						 
		if(!doVerif(args))
			throw new SecuriteException("exception.afficherutilisateur.pasledroit");
		
	}
	
	public boolean doVerif(Object[] objects) {
		Utilisateur utilisateur = (Utilisateur)objects[0];
	
		//l'utilisateur a le droit Voir tous les utilisateurs
		if(utilisateur.getDroitsGeneraux().getModifierTousUtilisateurs().booleanValue() == true)
			return true;
		//Ben et Sophie sont membres d'un même groupe, et Ben a le droit VoirUtilisateursGroupe
		
		return false;
	}

	

}
